package global

import (
	"github.com/apache/rocketmq-client-go/v2"
	"github.com/redis/go-redis/v9"
	"gorm.io/gorm"
)

var (
	Rdb          *redis.Client
	AppId        = "101827468"
	AppKey       = "0d2d856e48e0ebf6b98e0d0c879fe74d"
	RedirectURI  = "http://127.0.0.1:9090/qqLogin"
	DB           *gorm.DB
	NewProducer  rocketmq.Producer
	PushConsumer rocketmq.PushConsumer
)

type PrivateInfo struct {
	AccessToken  string `json:"access_token"`
	ExpiresIn    string `json:"expires_in"`
	RefreshToken string `json:"refresh_token"`
	OpenId       string `json:"openid"`
}

// NacosConfig viper信息反解结构体
//type NacosConfig struct {
//	Nacos struct {
//		NamespaceId string `mapstructure:"namespaceId"`
//		IpAddr      string `mapstructure:"IpAddr"`
//		Port        int    `mapstructure:"port"`
//		DataId      string `mapstructure:"dataId"`
//		Group       string `mapstructure:"group"`
//	} `mapstructure:"nacos"`
//}
//type AllConfig struct {
//	Mysql struct {
//		UserName string `json:"UserName"`
//		Password string `json:"Password"`
//		Host     string `json:"Host"`
//		Port     int    `json:"Port"`
//		DbName   string `json:"DbName"`
//	} `json:"Mysql"`
//	Redis struct {
//		Host string `json:"Host"`
//		Port int    `json:"Port"`
//	} `json:"Redis"`
//	AliPay struct {
//		AppId      string `json:"AppId"`
//		PrivateKey string `json:"PrivateKey"`
//		PublicKey  string `json:"PublicKey"`
//		Notify     string `json:"Notify"`
//		Return     string `json:"Return"`
//	} `json:"AliPay"`
//	Rocketmq struct {
//		Host  string `json:"Host"`
//		Port  int    `json:"Port"`
//		Topic string `json:"Topic"`
//	} `json:"Rocketmq"`
//}
